<ui:composition template = "template.xhtml"
                xmlns ="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:a4j="http://richfaces.org/a4j">

    <ui:define name ="conteudo">

        <h:form id="edicao" >

            <h:inputHidden value="#{acervos.acervo.chaveAcervo}" />

            <h:panelGrid columns="2">

                <h:outputText value="Campo" />
                <h:selectOneMenu value="#{acervos.acervoCampo.campo.chaveCampo}">
                    <f:selectItems 
                        value="#{campos.campos}" var="cam"
                        itemLabel="#{cam.titulo}"
                        itemValue="#{cam.chaveCampo}"/>
                </h:selectOneMenu>

                <h:outputText value="Repetitivo" />
                <h:selectBooleanCheckbox value="#{acervos.acervoCampo.repetitivo}" />     

                <h:outputText value="Obrigatorio" />
                <h:selectBooleanCheckbox value="#{acervos.acervoCampo.obrigatorio}" />

                <h:outputText value="Publicar" />
                <h:selectBooleanCheckbox value="#{acervos.acervoCampo.publicar}" />

                <h:outputText value="Valor Padrao" />
                <h:inputText value="#{acervos.acervoCampo.valorPadrao}" />

                <h:outputText value="Apresentacao" />
                <h:inputText value="#{acervos.acervoCampo.apresentacao}" />

                <h:outputText value="Restricao" />
                <h:inputText value="#{acervos.acervoCampo.restricao}" />

            </h:panelGrid>

            <h:commandLink value="Add linha" action="#{acervos.addRow}">
                <f:ajax execute ="@form" render =":listagem :edicao" />
            </h:commandLink>

        </h:form>
        <br />
        <h:form id="listagem">

            <h:outputText value="Nome Acervo: " />
            <h:inputText value="#{acervos.acervo.descricao}" id="tbDescricao" />

            <h:outputText value="Publicavel: " />
            <h:selectBooleanCheckbox value="#{acervos.acervo.publicavel}" id="cbPublicavel" />

            <h:dataTable value="#{acervos.acervo.acervoCampo}" var="ac" id="tblCampos" rendered="#{not empty acervos.acervo.acervoCampo}" >

                <h:column>
                    <f:facet name="header">Campo</f:facet>
                    <h:inputText value="#{ac.campo.titulo}" id="tbTitCampo" />
                    <h:inputHidden value="#{ac.chaveMetadado}" />
                </h:column>

                <h:column>
                    <f:facet name="header">Tipo Campo</f:facet>
                    <h:inputText value="#{ac.campo.tipoCampo.descricao}" id="tbTipoCampo" />
                </h:column>

                <h:column>
                    <f:facet name="header">Repetitivo</f:facet>
                    <h:selectBooleanCheckbox value="#{ac.repetitivo}" id="cbRepetitivo" />      
                </h:column>

                <h:column>
                    <f:facet name="header">Obrigatório</f:facet>
                    <h:selectBooleanCheckbox value="#{ac.obrigatorio}" id="cbObrigatorio" />
                </h:column>

                <h:column>
                    <f:facet name="header">Publicar</f:facet>
                    <h:selectBooleanCheckbox value="#{ac.publicar}" id="cbPublicar" />
                </h:column>

                <h:column>
                    <f:facet name="header">Valor Padrão</f:facet>
                    <h:inputText value="#{ac.valorPadrao}" id="tbValorPadrao" />
                </h:column>

                <h:column>
                    <f:facet name="header">Apresentação</f:facet>
                    <h:inputText value="#{ac.apresentacao}" id="tbApresentacao" />
                </h:column>

                <h:column>
                    <f:facet name="header">Restrição</f:facet>
                    <h:inputText value="#{ac.restricao}" id="tbRestricao" />
                </h:column>

            </h:dataTable>

            <h:commandLink value="Salvar">
                <f:ajax
                    execute ="@form"
                    listener ="#{acervos.create()}"
                    render ="@all" />
            </h:commandLink>

        </h:form>

    </ui:define>
</ui:composition>